import _ from 'lodash';

/**
 * parseJSON Lodash
 * @params str === 字符串
 * @return 汉字
 * */
export const parseJSONLodash = (str) => {
    return _.attempt(JSON.parse.bind(null, str));
};

/**
 * 检查字符串是否是可解析的json格式
 * @params str === 字符串
 * @return true or false
 * */
export const isValidJson = (str) => {
    if (!str) {
        return false;
    }
    return !_.isError(parseJSONLodash(str));
};

/**
 * 检查坐标是否是有效坐标，并且在中国范围内
 * @params lngX === number 经度
 * @params latY === number 纬度
 * @return true or false
 * */
export const isValidCoords = (lngX, latY) => {
    if (!lngX) {
        return false;
    }
    if (!latY) {
        return false;
    }
    const lat = +latY;
    const lng = +lngX;
    // 纬度 3.86~53.55, 经度 73.66~135.05
    return lng > 73.66 && lng < 135.05 && lat > 3.86 && lat < 53.55;
};

export const openNewTab = (url) => {
    window.open(url, '_blank');
};
